package com.offcn.service.Impl;

import com.offcn.dao.BookDao;
import com.offcn.dao.impl.BookDaoImpl;
import com.offcn.entity.Book;
import com.offcn.service.BookService;
import com.offcn.utils.Page;

public class BookServiceImpl implements BookService {
    //创建BookDao实现类对象
    private BookDao bookDao = new BookDaoImpl();


    //分页查询
    @Override
    public Page<Book> getBookList(String pageNo) {
        //因为从servlet获取到的pageno就是String类型的，所以在这里进行数据转换
        Integer pageno = Integer.parseInt(pageNo);
        //返回的是一个page对象，里面封装了page类中的所有信息
        Page<Book> page = bookDao.getBookList(pageno);
        return page;
    }

    //修改前获取book信息进行展示
    @Override
    public Book getBookByID(String bookId) {
            //因为从servlet获取到的pageno就是String类型的，所以在这里进行数据转换
        //这里只有添加会出问题，因为添加那id,由于String类型，得到的就是个空串，所以会出异常，解决办法：出异常使用默认值
        Integer id = -1;
        try {
            id = Integer.parseInt(bookId);
        } catch (Exception e) {
            //格式化异常就使用默认值
        }
        return bookDao.getBookByID(id);
    }

    //修改数据
    @Override
    public void modifyBook(String bookId, String title, String author, String price, String sales, String stock) {
        //因为从servlet获取到的pageno就是String类型的，所以在这里进行数据转换
        Integer id = Integer.parseInt(bookId);
        Integer msales = Integer.parseInt(sales);
        Integer mstock = Integer.parseInt(stock);
        Double mprice = Double.parseDouble(price);
        Book book = new Book(id,title,author,mprice,msales,mstock,"path");
        bookDao.modifyBook(book);

    }


    //添加数据
    @Override
    public void addBook(String title, String author, String price, String sales, String stock) {
        Integer msales = Integer.valueOf(sales);
        Integer mstock = Integer.valueOf(stock);
        Double mprice = Double.parseDouble(price);
        Book book = new Book(1,title,author,mprice,msales,mstock,"path");
        bookDao.addBook(book);
    }

    //删除功能
    @Override
    public void deleteBookById(String bookId) {
//        将id转换成int类型
        int id = Integer.parseInt(bookId);
        bookDao.deleteBookById(id);
    }


}


